Skip to content

feat(sdk): add sandbox checkpoint and restore APIs - #39

Draft
tianyuzhou95 wants to merge 5 commits into
inclusionAI:mainfrom
tianyuzhou95:albert/cr
Draft

feat(sdk): add sandbox checkpoint and restore APIs#39
tianyuzhou95 wants to merge 5 commits into
inclusionAI:mainfrom
tianyuzhou95:albert/cr

Conversation

@tianyuzhou95

Copy link
Copy Markdown
Collaborator

Summary

  • add checkpoint, restore, list, and delete APIs to the Python SDK
  • add standalone runsc and Firecracker checkpoint/restore CI coverage
  • let sandboxd manage sandbox resolver injection

Testing

  • make sdk-check
  • make deploy-script-check

Expose a small synchronous checkpoint API in akernel-sdk with immutable
checkpoint identities, restore-to-new-sandbox semantics, and explicit list
and delete operations. Keep snapshot lifetime manual and default checkpoint
timeouts to 180 seconds without adding TTL policy to the SDK.

Adapt the default YuanRong sandbox backend, document the public contract,
and add unit and integration coverage. Extend standalone GitHub CI to run
checkpoint and restore scenarios for runsc and Firecracker on KVM runners.

Signed-off-by: Tianyu Zhou <albert.zty@antgroup.com>
Advance sandboxd to the latest mainline checkpoint implementation and pin
YuanRong to the coordinated reusable snapshot integration. This keeps the
AKernel build on the current StartRequest-based restore contract instead of
the obsolete implementation used by the earlier prototype.

Signed-off-by: Tianyu Zhou <albert.zty@antgroup.com>
Enable YuanRong's snapshot data plane in both node startup modes and provide a
stable checkpoint staging directory. Advance sandboxd and YuanRong to the
implementations validated with the SDK checkpoint contract for runsc and
Firecracker.

Document the standalone storage and manual checkpoint lifecycle so operators
do not confuse node-local staging with an SDK TTL or automatic expiration.

Signed-off-by: Tianyu Zhou <albert.zty@antgroup.com>
Remove the static /etc/resolv.conf mount from standalone and Helm base OCI
configuration. Sandboxd already prepares the resolver file for every sandbox,
using the host resolver without an ACL and its managed resolver when an ACL is
enabled, so carrying both mounts creates duplicate OCI destinations during
checkpoint restore.

Signed-off-by: Tianyu Zhou <albert.zty@antgroup.com>
Advance sandboxd and YuanRong together so the runtime capability response,
guest handoff endpoints, FunctionSystem environment configuration, and RRT
restore protocol use one compatible contract in AKernel builds.

Signed-off-by: Tianyu Zhou <albert.zty@antgroup.com>
Chamberlain1998 pushed a commit to Chamberlain1998/AKernel that referenced this pull request Aug 26, 2026
Merge AKernel PR inclusionAI#39 with the local reload and failover API so both lifecycle surfaces remain available. Preserve the synchronized YuanRong snapshot implementation and advance sandboxd to b35d309, which adds the restore mount override fix on top of the PR checkpoint integration.

Signed-off-by: ChamberlainJI <jichenglin1@huawei.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant